Ethernet ring protection system in RFC3619 comprises multiple nodes interconnected into a ring, on which multiple Ethernet ring protection domains can be defined. Each domain includes a master node, several transit nodes and a group of protected service Virtual Local Area Network (VLAN for short) for forwarding user data. Wherein, the two ports of the master node on the ring are defined respectively as primary port and secondary port; the protected service VLAN is defined as protection service VLAN. When the ring link is in no-fault state, the master node blocks the forwarding function of the protection service VLAN of the secondary port, so no loop appears in the network, which prevents Broadcast Storm caused by the network loop; when the ring link is in in-fault state, the master node unblocks the forwarding function of the protection service VLAN of the secondary port, so user data can flow through the secondary port of the master node, and service communication can be ensured. An Ethernet ring protection and control packet is a communication and control packet among nodes in the domain. When a node blocks its port, the ring control packet can still flow through without effect. When Ethernet ring protection system operates normally, each node of the ring records the current ring state as no-fault (UP) or in-fault (DOWN).
Ethernet ring automatic protection system in normal operation state in the prior art, as shown in FIG. 1, consists of nodes S1, S2, S3 and S4. The ring formed by the four nodes is configured with a Ethernet ring protection domain, in which is the master node (MASTER) and the other nodes S1, S3, and S4 are the transit nodes (TRANSIT). Two ring ports of the master node S2 are respectively primary port and secondary port, wherein, port 2 is the primary port (P) and port 1 is the secondary port (S). Besides, the protection service VLAN is also defined in the domain, in which every port in the ring is configured. When the ring link is UP, the master node S2 blocks data forwarding function of the protection service VLAN of the secondary port 1, to prevent network loop and avoid Broadcast Storm; when the ring link is DOWN, the master node S2 unblocks data forwarding function of the protection service VLAN of the secondary port 1, to communicate the data in the service VLAN again.
The master node sends periodically a ring link health detection packet (HELLO) to the primary port. When the ring link is UP, the HELLO packet flows through each transit node in turn, and reaches the secondary port of the master node. The HELLO packet can flow through the blocked secondary port of the master node to be received by the master node. If the master node fails to receive the HELLO packet in a given time, the ring link is deemed as in-fault.
When a neighboring link is detected as in-fault, the transit node sends a link fault alarm (LINK-DOWN) packet, which will be arrived at the master node by flowing through the ring link. Even if the secondary port of the master node is blocked, the LINK-DOWN packet can still flow through to the master node. After receiving the LINK-DOWN packet at the primary port or the secondary port, the master node considers the ring link is in-fault.
When fault of the ring link is detected, the master node records the ring state as DOWN, unblocks the forwarding function of the protection service VLAN of the secondary port, updates the Media Access Control (MAC for short) address table of the ring ports and sends a ring down notice (FLUSH-DOWN) packet to notify other nodes in the ring to conduct link fault switch. After receiving the FLUSH-DOWN packet, the transit node records the ring state as DOWN, and updates the MAC address table of the ring port. Data in the protection service VLAN start to be transmitted through a new route.
When a neighboring link is detected as in-fault, a node blocks the forwarding function of the protection service VLAN of a corresponding port; when the fault disappears, the forwarding function of the protection service VLAN of the port is still blocked, and switches to a prerelease (PREFORWARD) state. During the link fault period, the master node still sends the HELLO packet via the primary port; if the link fault disappears, the HELLO packet can flow through the blocked port and the link whose fault disappears. When the HELLO packet is received from the secondary port, it is considered that the ring link recovers, and record the ring state as UP, block again the forwarding function of the protection service VLAN of the secondary port, update the MAC address table of the ring port and send a ring recover notice (FLUSH-UP) packet to the ring to notify other nodes in the ring to conduct link-recover switch. After receiving the FLUSH-UP packet, the transit node records the ring state as UP, updates the MAC address table of the ring port, and unblock the forwarding function of the protection service VLAN of the port in the PREFORWARD state. Data in the protection service VLAN starts to be transmitted through a new route. If the node fails to unblock the port in the PREFORWARD state in a given time, the port will be unblocked automatically.
When configuring protection domain of Ethernet ring system, the transit node does not know whether the current ring state is UP or DOWN in initialization phase, and fails to enter a correct state. As shown in FIG. 2, the ring link is in UP state, nodes S1, S2, and S4 have all been configured with the ring protection domain, wherein S2 is the master node, and S1 and S4 are transit nodes. The master node S2 is able to receive the HELLO packet at the secondary port which is sent from the primary port, so it is considered that the ring link is in UP state and block the data forwarding function of the protection service VLAN of the secondary port. Node S3, which does not know the current state of the ring link in the initialization period, is configured as a transit node. Block the function of the protection service VLAN of the ring port for a period of time to prevent the loop, as the ring state notice of the master node cannot be obtained, the blocked port can not be unblocked, which leads to a long interruption of the service communication between nodes S1 and S4 in the ring.